<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->

<div class="users-pane">
  <div class="clearfix">
    <ol class="breadcrumb pull-left">
      <li class="active">{{'common.users' | translate}}</li>
    </ol>
    <div class="pull-right top-margin-4">
      <link-to route="users.create" class="btn btn-primary createuser-btn"><span class="glyphicon glyphicon-plus"></span> {{'users.create' | translate}}</link-to>
    </div>
  </div>
  <hr>
  <table class="table table-striped table-hover">
    <thead>
      <tr>
        <th width="30">
          <span class="bottom-margin admin-filter glyphicon glyphicon-flash" 
            ng-class="{'no-filter' : !adminFilter}" 
            ng-click="toggleAdminFilter()"
            tooltip="{{'users.' + (adminFilter ? 'showAll' : 'showAdmin') | translate}}"
          ></span>
        </th>
        <th>
          <div class="search-container">
            <label for="">{{'users.username' | translate}}</label>
            <input type="text" class="form-control namefilter" placeholder="{{'common.any' | translate}}" ng-model="currentNameFilter" ng-change="resetPagination()">
            <button type="button" class="close clearfilter" ng-show="currentNameFilter" ng-click="currentNameFilter=''; resetPagination()"><span aria-hidden="true">&times;</span><span class="sr-only">{{'common.controls.close' | translate}}</span></button>
          </div>
        </th>
        <th>
          <label for="">{{'common.type' | translate}}</label>
          <select class="form-control typefilter"
            ng-model="currentTypeFilter"
            ng-options="item.label for item in typeFilterOptions"
            ng-change="resetPagination()">
          </select>

        </th>
        <th>
          <label for="">{{'users.status' | translate}}</label>
          <select class="form-control statusfilter" 
            ng-model="currentActiveFilter"
            ng-options="item.label for item in activeFilterOptions"
            ng-change="resetPagination()">
          </select>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr ng-repeat="user in users">
        <td>
          <span class="glyphicon" tooltip="{{user.Users.admin ? constants.admin : ''}}" ng-class="{'glyphicon-flash' : user.Users.admin}"></span>
        </td>
        <td>
           <a href="#/users/{{user.Users.encoded_name}}">{{user.Users.user_name}}</a>
        </td>
        <td>{{user.Users.userTypeName}}</td>
        <td><span ng-class="user.Users.active ? 'text-success' : 'text-danger'">{{'users.' + (user.Users.active ? 'active' : 'inactive') | translate}}</span></td>
      </tr>
    </tbody>
  </table>
  <div class="alert alert-info col-sm-12" ng-show="!users.length">
    {{'common.alerts.nothingToDisplay' | translate: '{term: constants.users}'}}
  </div>
  <div class="col-sm-12 table-bar">
    <div class="pull-left filtered-info">
      <span>{{'common.filterInfo' | translate: '{showed: tableInfo.showed, total: tableInfo.total, term: constants.users}'}}</span>
      <span ng-show="isNotEmptyFilter">- <a href ng-click="clearFilters()">{{'common.controls.clearFilters' | translate}}</a></span>
    </div>
    <div class="pull-right left-margin">
      <pagination class="paginator" total-items="totalUsers" max-size="maxVisiblePages" items-per-page="usersPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination>
    </div>
    <div class="pull-right">
      <select class="form-control" ng-model="usersPerPage" ng-change="usersPerPageChanges()" ng-options="currOption for currOption in [10, 25, 50, 100]"></select>
    </div>
  </div>
</div>
